// 入口函数
$(function () {
    // alert(1)
    // 初始化图片裁剪区域（复制）
    // 1.1 获取裁剪区域的 DOM 元素
    var $image = $('#image')
    // 1.2 配置选项
    const options = {
        // 纵横比
        aspectRatio: 1,
        // 指定预览区域
        preview: '.img-preview'
    }

    // 1.3 创建裁剪区域
    $image.cropper(options)
    // 上传按钮丑，所以点击右边的上传，触发它的点击事件
    $('#btnChooseImage').on('click', function () {
        $('#file').click()
    })
    // 当用户选择了新的图片文件，渲染到裁剪区域
    // 给文件选择控件绑定change事件（选择了文件会触发change事件，然后就获取选中的文件）
    // 文件选择控件元素对象.files：拿到的是选中的文件列表 (dom对象才有这个)
    $('#file').on('change', function () {
        // var filelist=$('#file')[0].files
        var filelist = this.files
        if (filelist.length <= 0) {
            return layui.layer.msg('请选择文件', { icon: 5 })
        }
        var file = filelist[0]
        // 复制：
        // 2. 根据选择的文件，创建一个对应的 URL 地址：
        var newImgURL = URL.createObjectURL(file)
        // 3. 先`销毁`旧的裁剪区域，再`重新设置图片路径`，之后再`创建新的裁剪区域`：
        $image
            .cropper('destroy')      // 销毁旧的裁剪区域
            .attr('src', newImgURL)  // 重新设置图片路径
            .cropper(options)        // 重新初始化裁剪区域
    })
    // 单击确定，裁剪并上传到服务器
    // 复制 cropper
    $('#btnUpload').on('click',function(){
        var dataURL = $image
        .cropper('getCroppedCanvas', { // 创建一个 Canvas 画布
          width: 100,
          height: 100
        })
        .toDataURL('image/png')       // 将 Canvas 画布上的内容，转化为 base64 格式的字符串，文档要求
      //   调接口 (avatar:文档参数)
      $.ajax({
          method:'POST',
          url:'/my/update/avatar',
          data:{
             avatar : dataURL
          },
          success(res) {
              if (res.status !== 0) {
                  return layui.layer.msg(res.message,{icon:5})
              }
              layui.layer.msg(res.message,{icon:6})
              // 更新页面头像
              window.parent.getUserInfo()
          }
      })
    })
})